home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Aktuell
/
Amiga Aktuell.iso
/
amiga-aktuell
/
net tools
/
fido net
/
ftsc-all-91
/
fsc-0063.z01
/
fsc-0063.001
Wrap
Text File
|
1992-05-10
|
10KB
|
280 lines
Document: FSC-0063
Version: 001
Date: 10-May-1992
A Proposal for FidoNet style messages
Jem Miller
1:147/33.0 @FidoNet
Status of this document:
This FSC suggests a proposed protocol for the FidoNet(r) community,
and requests discussion and suggestions for improvements.
Distribution of this document is unlimited.
Fido and FidoNet are registered marks of Tom Jennings and Fido
Software.
I. Introduction
The current message strucures that are transmitted between
systems is fast becoming outdated. Dupe checking, path checking,
and zone aware routing are all areas of weekness in the current
format. This proposal both simplifies the current processing
needed of mail tossers, and eliminates the worst problem areas
and limitations of the current methods.
Currently, Seen-By lines and Path lines are appended and
maintained in all EchoMail type message sent into FidoNet technol-
ogy networks. The original intention of Seen-By's was to help
eliminate duplicate messages, and give a sort of "tracking his-
tory" of each piece of EchoMail. Path lines tell us what systems
have actually processed the mail and sent it on to another sys-
tem, and offer some audit checking in case of problems.
Unfortunately, these systems can not reliably detect and/or
correct duplicate messges, or point to the offending system with
any surity. In recent times, a MSGID kludge has been used, requir-
ing the maintaining of databases (one per echo usually) to test
each message for duplication. While this procedure cures much of
the duplication problems, it does nothing for the audit trail of
each message. Further, it needlessly slows the tossing/packing
process, and promotes disk fragmentation problems further.
Yet another consideration as we enter wider acceptance and
useage of our electronic media is overhead. Overhead can be
viewed in many ways, two of the most important are Cost per mes-
sage to transmit, and disk space used for needless information.
The proposed changes outlined below address all of these items
and more, giving a means of expanding into the future.
II. Proposed Changes
Seen-By lines will be greatly changed as compared to the cur-
rent structure, Path lines will be eliminated, and the MSGID
kludge will also be eliminated. Tear lines and origin lines will
remain unchanged. INTL kludges, FMPT kludges, and others will be
eliminated.
This audit system is not new in concept. In fact it is cur-
rently used in a similar manner in the popular TICK and FLEA file
echo processors. Each system that processes a piece of mail adds
its node number into an audit list. The audit list is similar to
current Seen-By's only in that node numbers are listed at the end
of each message.
Node numbers added to the audit list are FULL node numbers,
ie.
Zone:Net/Node.Point
1
A system ALWAYS adds itself to the Audit list, but NEVER
adds any other system address to the list. The mail processor
must be capable of automatically zone matching its own node ad-
dress to that of the system it is currently sending a message to.
For example: If I am sending an echo to zone 1 AND zone 42, my
mail processor would add the following Audit entries:
For each zone 1 message:
1:147/33.0
For each zone 42 message:
42:1036/33.0
My system then sends the message to the correct receivers.
If the receiver is at the end of a line (not sending the area to
any other systems), it simply checks the audit list to ensure
that the senders address is listed only once, and tosses that mes-
sage to the correct area.
ONLY SYSTEMS THAT RE-SEND A MESSAGE add themselves to the
Audit list. A system NEVER adds itself to the Audit list if its
sending system is listed more than once. In this case, the mes-
sage is a duplicate, and is killed.
The Audit list is NEVER sorted, or disturbed in any way ex-
cept to add a new node to the end of the list.
There are no databases to maintain, no path lines to check,
and best of all, only SENDING systems are listed. In national
echos, it is not uncommon to see 5 to 8 lines of Seen-By's and 2
or 3 path lines in EACH message. Even though including the full
zone address (including points) adds to the length of node num-
bers, far fewer node numbers are listed. In the case of a
problem, the offending system can be quickly and easily
idetified, and the problem corrected.
Security is also enhanced by allowing the mail processor to
check the sending system against its send-to list in the areas
file to determine that it was received from the correct node ad-
dress (the senders address can be cross checked by the Audit list
as well as the packet header).
III. Implementation
A. Packet Header
The current packet header needs no changes (except the
packet type identifier). This allows full backward compatibility.
B. Packed Messages
No change to packed message structures or procedures.
C. MSGID Line
Eliminated.
2
D. Message Body
Unchanged.
E. Tear Lines
Unchanged.
F. Origin Lines
Unchanged.
G. Seen-By's
Replaced by Audit list. The Audit line begins with a unique
tag:
AUDIT:
followed by a space (ASCII #32). Each node number is seperated by
a space. Each Audit line is terminated by a carriage return and
optionally a linefeed (ASCII #13 and #10). The length of each
Audit line follows current Seen-By line specifications (79
characters).
Node numbers in the Audit list are full Zone:Net/Node.Point
numbering. The maximum feild length per entry is 23 characters of
text up to and including:
65535:65535/65535.65535
H. Path Lines
Eliminated.
IV. Operations
A. Sender
The originating system begins the Audit sequence by creating
the initial Audit line and adding his node number after the
AUDIT: tag.
AUDIT: 1:147/33.0
Then packs the message to the receiving system as it nor-
mally would.
3
A system that is re-sending the message to other systems
first completes the Receiver requirements in step B below. Then
the system adds its own node number (zone matched) to the LAST
Audit line of the message (or creates a new line if needed). The
sender then packs the message as it normally would. This process
is repeated for each message, and each system that recieves a
copy of the message. Zone gates may or may not be listed in the
Audit list to correctly identify any problems (open to ruling).
B. Receiver
Upon processing a packet, the receiver scans for the Audit
lines as it currently does for a Seen-By line for each message it
processes. Each entry in the Audit list is checked against the
LAST entry, as well as its own address, for duplication. Addition-
ally, the LAST address is checked against the receivers list of
valid systems for that message area to insure that security is
not breeched. Optionally, the receiver may check the address of
the packet header against that of the senders Audit entry to en-
sure correct addressing.
After all tests are made, the message is tossed to the cor-
rect message area. If the receiver is to send the message to any
other systems, it then becomes the sender and procedes as in step
A above.
V. Qualifications
I am a programmer by trade, and hold a degree in Electronic
Engineering. I attended Oklahoma State University, and MIT. I am
the author of the SuperComm bulletin board system which includes:
SCBBS The BBS program
SCMAIL The Mail processor
SCED The offline Message editor
SCSET Set-up utility
SCNET Network interface (Front-end mailer).
The SuperComm system holds a current FidoNet product code,
and is fully compliant in its mail handling. A working model of
ScMail including these changes is available for review. Source
code ideas are also available for the proposed changes, either in
C or Turbo Pascal.
4